const express = require('express');
const router = express.Router();
const { db } = require('../db/database');

// 获取所有商品信息
router.get('/', (req, res) => {
    db.all('SELECT * FROM 商品信息', (err, rows) => {
        if (err) {
            res.status(500).json({ error: err.message });
            return;
        }
        res.json(rows);
    });
});

// 根据商品编号获取单个商品信息
router.get('/:id', (req, res) => {
    const id = req.params.id;
    db.get('SELECT * FROM 商品信息 WHERE 商品编号 =?', [id], (err, row) => {
        if (err) {
            res.status(500).json({ error: err.message });
            return;
        }
        if (!row) {
            res.status(404).json({ error: '商品未找到' });
            return;
        }
        res.json(row);
    });
});

// 添加新商品
router.post('/', (req, res) => {
    const { 商品名称, 商品价格, 商品描述, 商品库存, 商品类别, 商品图片链接 } = req.body;
    const insertProduct = db.prepare('INSERT INTO 商品信息 (商品名称, 商品价格, 商品描述, 商品库存, 商品类别, 商品图片链接) VALUES (?,?,?,?,?,?)');
    insertProduct.run([商品名称, 商品价格, 商品描述, 商品库存, 商品类别, 商品图片链接], function (err) {
        if (err) {
            res.status(500).json({ error: err.message });
            return;
        }
        res.status(201).json({ id: this.lastID, message: '商品添加成功' });
    });
    insertProduct.finalize();
});

// 更新商品信息
router.put('/:id', (req, res) => {
    const id = req.params.id;
    const { 商品名称, 商品价格, 商品描述, 商品库存, 商品类别, 商品图片链接 } = req.body;
    db.run('UPDATE 商品信息 SET 商品名称 =?, 商品价格 =?, 商品描述 =?, 商品库存 =?, 商品类别 =?, 商品图片链接 =? WHERE 商品编号 =?',
        [商品名称, 商品价格, 商品描述, 商品库存, 商品类别, 商品图片链接, id],
        function (err) {
            if (err) {
                res.status(500).json({ error: err.message });
                return;
            }
            if (this.changes === 0) {
                res.status(404).json({ error: '商品未找到' });
                return;
            }
            res.json({ message: '商品信息更新成功' });
        });
});

// 删除商品
router.delete('/:id', (req, res) => {
    const id = req.params.id;
    db.run('DELETE FROM 商品信息 WHERE 商品编号 =?', [id], function (err) {
        if (err) {
            res.status(500).json({ error: err.message });
            return;
        }
        if (this.changes === 0) {
            res.status(404).json({ error: '商品未找到' });
            return;
        }
        res.json({ message: '商品删除成功' });
    });
});

module.exports = router;